﻿namespace com.binance.client.model.trade
{
	using BinanceApiConstants = com.binance.client.constant.BinanceApiConstants;
	using ToStringBuilder = org.apache.commons.lang3.builder.ToStringBuilder;

	public class Asset
	{

		public string asset { get; set; }

		private decimal initialMargin;

		private decimal maintMargin;

		private decimal marginBalance;

		private decimal maxWithdrawAmount;

		private decimal openOrderInitialMargin;

		private decimal positionInitialMargin;

		private decimal unrealizedProfit;

 

		public virtual decimal InitialMargin
		{
			get
			{
				return initialMargin;
			}
			set
			{
				this.initialMargin = value;
			}
		}


		public virtual decimal MaintMargin
		{
			get
			{
				return maintMargin;
			}
			set
			{
				this.maintMargin = value;
			}
		}


		public virtual decimal MarginBalance
		{
			get
			{
				return marginBalance;
			}
			set
			{
				this.marginBalance = value;
			}
		}


		public virtual decimal MaxWithdrawAmount
		{
			get
			{
				return maxWithdrawAmount;
			}
			set
			{
				this.maxWithdrawAmount = value;
			}
		}


		public virtual decimal OpenOrderInitialMargin
		{
			get
			{
				return openOrderInitialMargin;
			}
			set
			{
				this.openOrderInitialMargin = value;
			}
		}


		public virtual decimal PositionInitialMargin
		{
			get
			{
				return positionInitialMargin;
			}
			set
			{
				this.positionInitialMargin = value;
			}
		}


		public virtual decimal UnrealizedProfit
		{
			get
			{
				return unrealizedProfit;
			}
			set
			{
				this.unrealizedProfit = value;
			}
		}


        public override string ToString()
		{
			return (new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)).append("asset", asset).append("initialMargin", initialMargin).append("maintMargin", maintMargin).append("marginBalance", marginBalance).append("maxWithdrawAmount", maxWithdrawAmount).append("openOrderInitialMargin", openOrderInitialMargin).append("positionInitialMargin", positionInitialMargin).append("unrealizedProfit", unrealizedProfit).ToString();
		}
	}

}